package com.bringway.p2p.dao;

import java.util.List;
import java.util.Map;

import net.sf.json.JSONObject;

public interface TjrDao {

	public List querytjr(JSONObject params);

	public int gettjrCount(JSONObject params);
	
	/**
	 * @方法名称:update
	 * @方法描述:更新推荐人的方法
	 * @author qjy
	 * @param parms
	 * @return
	 */
	public int updateTjr(JSONObject parms);
	
	
	
	/**
	 * @方法名称:add
	 * @方法描述:添加新推荐人的方法
	 * @author qjy
	 * @param parms
	 * @return
	 */
	
	public int addTjr(JSONObject parms);
	/**
	 * @方法名称:查询
	 * @方法描述:查询新推荐人的方法
	 * @author qjy
	 * @param parms
	 * @return
	 */
	public List queryxTjr(JSONObject params);
	/**
	 * @方法名称:查询个数
	 * @方法描述:查询新推荐人总个数
	 * @author qjy
	 * @param params
	 * @return
	 */
	public int tjrxcount(JSONObject params);
	
	/**
	 * @作者 js  
	 * @方法名 getTjrInfo  
	 * @功能 TODO 获取上一级推荐信息
	 * @param username 本级用户名
	 * @return
	 */
	Map<String, String> getTjrInfo(String username);
	
	/**
	 * @作者 js  
	 * @方法名 isFirstTjr  
	 * @功能 TODO 是否存在一级推荐人
	 * @param username 用户名
	 * @return true:存在一级推荐人,false:不存在一级推荐人
	 */
	boolean isFirstTjr(String username);
	/**
	 * @作者 js  
	 * @方法名 listUserTgInfo  
	 * @功能 TODO 获取用户推荐关心列表信息
	 * @param params
	 * @return
	 */
	List<Map<String, Object>> listUserTgInfo(JSONObject params);
	/**
	 * @作者 js  
	 * @方法名 getUserTgCount  
	 * @功能 TODO 获取用户推荐关系列表信息 分页总记录数
	 * @param params
	 * @return
	 */
	int getUserTgCount(JSONObject params);
	/**
	 * @作者 js  
	 * @方法名 listUserInfo  
	 * @功能 TODO 
	 * @return
	 */
	List<String> listUserInfo();
	/**
	 * @作者 js  
	 * @方法名 isNeedUpdate  
	 * @功能 TODO 
	 * @param username
	 * @return
	 */
	boolean isNeedUpdate(String username);
	/**
	 * @作者 js  
	 * @方法名 updateTjrInfo  
	 * @功能 TODO 
	 * @param username
	 * @return
	 */
	boolean updateTjrInfo(String username);
	/**
	 * @作者 js  
	 * @方法名 listUsernameAndTjr  
	 * @功能 TODO 获取需要更新的推荐人和用户名
	 * @param username
	 * @return
	 */
	List<Map<String, String>> listUsernameAndTjr(String username);
	/**
	 * @作者 js  
	 * @方法名 getTjjbMap  
	 * @功能 TODO 获取上级推荐人信息
	 * @param username
	 * @return
	 */
	Map<String, String> getTjjbMap(String username);
	/**
	 * @作者 js  
	 * @方法名 deleteTjjb  
	 * @功能 TODO 删除推荐级别记录
	 * @param username
	 * @return
	 */
	int deleteTjjb(String username);
	/**
	 * @作者 js  
	 * @方法名 saveTjjb  
	 * @功能 TODO 保存推荐级别
	 * @param paramMap
	 * @return
	 */
	int saveTjjb(Map<String, String> paramMap);
	
	
}
